/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package newServer;

import java.util.ArrayList;
import java.util.Iterator;

/**
 *
 * @author Dieter Van der Stock
 */
public class Pool {
    private ArrayList clients;
    private String naam;
    
    public Pool(String naam) {
        this.naam = naam;
        this.clients = null;
    }
    
    public void voegClientToe(Client client) {
        clients.add(client);
    }
    
    public void verwijderClient(String nickname) {
        Iterator it = clients.iterator();
        while(it.hasNext()) {
            Client c = (Client)it.next();
            //als we de juiste tegenkomen, verwijderen we hem
            if(c.getNickame().equals(nickname)) {
                clients.remove(c);
            }
        }
    }
    
    public void verwijderClient(Client c) {
        clients.remove(c);
    }
    
    public ArrayList getClients() {
        return clients;
    }
    
    public String getNaam() {
        return naam;
    }
    
    /**
     * Geeft een lijst terug van alle socketkanalen in deze pool
     * @return Een lijst met socketkanalen
     */
    public ArrayList getSockets() {
        ArrayList sockets = new ArrayList();
        Iterator it = clients.iterator();
        while(it.hasNext()) {
            Client c = (Client)it.next();
            sockets.add(c.getSocket());
        }
        
        return sockets;
    }
    
    /**
     * Geeft een lijst terug van alle nicknames in deze pool
     * @return Een lijst met nicknames
     */
    public ArrayList getNicknames() {
        ArrayList nicknames = new ArrayList();
        Iterator it = clients.iterator();
        while(it.hasNext()) {
            Client c = (Client)it.next();
            nicknames.add(c.getNickame());
        }
        
        return nicknames;
    }
}
